package com.inspur.edp.common.type.spi;

import com.inspur.edp.common.type.Type;
import com.inspur.edp.common.type.TypeRefer;
import com.inspur.edp.common.type.deserializer.TypeDeserializer;
import io.iec.edp.caf.multicontext.annotation.Collect;

import java.util.List;

/**
 * @author lizhaorui
 * @description TODO
 * @date 2024/12/11 10:16
 */

@Collect
public interface TypeResourceProvider {

    String BIZ_TYPE_NAV = "bizType";

    String BIZ_OBJECT_NAV = "bizObject";

    String CURRENT_BIZ_TYPE_NAV = "currentBizType";

    String getKind();

    Type getType(String typeId);

    String getUrl(String typeId);

    TypeDeserializer getDeserializer(TypeRefer typeRefer);

    List<TypeRefer> getTypesByBizId(String bizId);

    String getNavigationKind();

}
